import numpy as np  # 导入模块

np.random.seed(2)  # 随机种子
large_matrix = np.random.randint(-100, 100, size=(1000, 1000))  # 取值-100到100， 1000*1000的矩阵

if __name__ == '__main__':
    for i in range(1, np.size(large_matrix, 0)-1):  # 取值从1（第二个）开始，到最大化的前一个
        for j in range(1, np.size(large_matrix, 1)-1):    # 取值从1（第二个）开始，到最大化的前一个
            surrounding_crd = [(x, y) for x in range(-1, 2) for y in range(-1, 2)]  # 列表推导式，记录列表坐标，原点为（0，0）
            surrounding_crd.remove((0, 0))  # 移除原点坐标
            sumOfEight = 0   # 定义变量，初始值0
            for coordinate in surrounding_crd:  # 遍历列表
                sumOfEight += large_matrix[i + coordinate[0], j + coordinate[1]]   # 根据坐标累加操作
            large_matrix[i, j] = sumOfEight/8  # 8等分
